#include "celldialog.h"
#include "cellui.h"
#include "ui_celldialog.h"
#include "constants.h"

CellDialog::CellDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::CellDialog),
    iCellType(0)
{
    ui->setupUi(this);
    setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint );

    QPalette btnPe;
    btnPe.setColor(QPalette::ButtonText, Qt::white);
    ui->btnOK->setStyleSheet(blueBtn);
    ui->btnCancel->setStyleSheet(greenBtn);
    ui->btnOK->setPalette(btnPe);
    ui->btnCancel->setPalette(btnPe);
    //

//    if (CellUI::bParamExist("T1"))
//    {
        ui->tCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->tCellOne->setEnabled(false);
//    }
//    else
//    {
//        ui->tCellOne->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("B1"))
//    {
        ui->bCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->bCellOne->setEnabled(false);
//    }
//    else
//    {
//        ui->bCellOne->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("NK1"))
//    {
        ui->nkCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->nkCellOne->setEnabled(false);
//    }
//    else
//    {
//        ui->nkCellOne->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("DC1"))
//    {
        ui->dcCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->dcCellOne->setEnabled(false);
//    }
//    else
//    {
//        ui->dcCellOne->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("CIK1"))
//    {
        ui->cikCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->cikCellOne->setEnabled(false);
//    }
//    else
//    {
//        ui->cikCellOne->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("CUS1"))
//    {

//        ui->cusCellOne->setEnabled(false);
//    }
//    else
//    {
//        ui->cusCellOne->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

    //Two part
//    if (CellUI::bParamExist("T2"))
//    {
        ui->tCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->tCellTwo->setEnabled(false);
//    }
//    else
//    {
//        ui->tCellTwo->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("B2"))
//    {
        ui->bCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->bCellTwo->setEnabled(false);
//    }
//    else
//    {
//        ui->bCellTwo->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("NK2"))
//    {
        ui->nkCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->nkCellTwo->setEnabled(false);
//    }
//    else
//    {
//        ui->nkCellTwo->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("DC2"))
//    {
        ui->dcCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->dcCellTwo->setEnabled(false);
//    }
//    else
//    {
//        ui->dcCellTwo->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("CIK2"))
//    {
        ui->cikCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->cikCellTwo->setEnabled(false);
//    }
//    else
//    {
//        ui->cikCellTwo->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("CUS2"))
//    {
//        ui->cusCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
//        ui->cusCellTwo->setEnabled(false);
//    }
//    else
//    {
//        ui->cusCellTwo->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

    //Three part
//    if (CellUI::bParamExist("T3"))
//    {
        ui->tCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->tCellThree->setEnabled(false);
//    }
//    else
//    {
//        ui->tCellThree->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("B3"))
//    {
        ui->bCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->bCellThree->setEnabled(false);
//    }
//    else
//    {
//        ui->bCellThree->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("NK3"))
//    {
        ui->nkCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->nkCellThree->setEnabled(false);
//    }
//    else
//    {
//        ui->nkCellThree->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("DC3"))
//    {
        ui->dcCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->dcCellThree->setEnabled(false);
//    }
//    else
//    {
//        ui->dcCellThree->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("CIK3"))
//    {
        ui->cikCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");
        ui->cikCellThree->setEnabled(false);
//    }
//    else
//    {
//        ui->cikCellThree->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

//    if (CellUI::bParamExist("CUS3"))
//    {
//        ui->cusCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");
//        ui->cusCellThree->setEnabled(false);
//    }
//    else
//    {
//        ui->cusCellThree->setStyleSheet("background-color: white; border-radius: 25px;");
//    }

    ui->bCellOne->setFocusPolicy(Qt::NoFocus);
    ui->bCellTwo->setFocusPolicy(Qt::NoFocus);
    ui->bCellThree->setFocusPolicy(Qt::NoFocus);

    ui->nkCellOne->setFocusPolicy(Qt::NoFocus);
    ui->nkCellTwo->setFocusPolicy(Qt::NoFocus);
    ui->nkCellThree->setFocusPolicy(Qt::NoFocus);

    ui->dcCellOne->setFocusPolicy(Qt::NoFocus);
    ui->dcCellTwo->setFocusPolicy(Qt::NoFocus);
    ui->dcCellThree->setFocusPolicy(Qt::NoFocus);

    ui->cikCellOne->setFocusPolicy(Qt::NoFocus);
    ui->cikCellTwo->setFocusPolicy(Qt::NoFocus);
    ui->cikCellThree->setFocusPolicy(Qt::NoFocus);

    ui->cusCellOne->setFocusPolicy(Qt::NoFocus);
    ui->cusCellTwo->setFocusPolicy(Qt::NoFocus);
    ui->cusCellThree->setFocusPolicy(Qt::NoFocus);

    ui->tCellOne->setFocusPolicy(Qt::NoFocus);
    ui->tCellTwo->setFocusPolicy(Qt::NoFocus);
    ui->tCellThree->setFocusPolicy(Qt::NoFocus);

    ui->cusCellOne->setStyleSheet("background-color: white; border-radius: 25px;");
    ui->cusCellTwo->setStyleSheet("background-color: white; border-radius: 25px;");
    ui->cusCellThree->setStyleSheet("background-color: white; border-radius: 25px;");
}

CellDialog::~CellDialog()
{
    delete ui;
}

void CellDialog::on_btnOK_clicked()
{
    done(iCellType);
}

void CellDialog::on_btnCancel_clicked()
{
    done(0);
}

void CellDialog::on_tCellOne_clicked()
{
    setClickState(TCELLONE);
    iCellType = TCELLONE;
}

void CellDialog::on_tCellTwo_clicked()
{
    setClickState(TCELLTWO);
    iCellType = TCELLTWO;
}

void CellDialog::on_tCellThree_clicked()
{
    setClickState(TCELLTHREE);
    iCellType = TCELLTHREE;
}

void CellDialog::on_nkCellOne_clicked()
{
    setClickState(NKCELLONE);
    iCellType = NKCELLONE;
}

void CellDialog::on_nkCellTwo_clicked()
{
    setClickState(NKCELLTWO);
    iCellType = NKCELLTWO;
}

void CellDialog::on_nkCellThree_clicked()
{
    setClickState(NKCELLTHREE);
    iCellType = NKCELLTHREE;
}

void CellDialog::on_bCellOne_clicked()
{
    setClickState(BCELLONE);
    iCellType = BCELLONE;
}

void CellDialog::on_bCellTwo_clicked()
{
    setClickState(BCELLTWO);
    iCellType = BCELLTWO;
}

void CellDialog::on_bCellThree_clicked()
{
    setClickState(BCELLTHREE);
    iCellType = BCELLTHREE;
}

void CellDialog::on_dcCellOne_clicked()
{
    setClickState(DCCELLONE);
    iCellType = DCCELLONE;
}

void CellDialog::on_dcCellTwo_clicked()
{
    setClickState(DCCELLTWO);
    iCellType = DCCELLTWO;
}

void CellDialog::on_dcCellThree_clicked()
{
    setClickState(DCCELLTHREE);
    iCellType = DCCELLTHREE;
}

void CellDialog::on_cikCellOne_clicked()
{
    setClickState(CIKCELLONE);
    iCellType = CIKCELLONE;
}

void CellDialog::on_cikCellTwo_clicked()
{
    setClickState(CIKCELLTWO);
    iCellType = CIKCELLTWO;
}

void CellDialog::on_cikCellThree_clicked()
{
    setClickState(CIKCELLTHREE);
    iCellType = CIKCELLTHREE;
}

void CellDialog::on_cusCellOne_clicked()
{
    setClickState(CUSCELLONE);
    //save to file
    iCellType = CUSCELLONE;
}

void CellDialog::on_cusCellTwo_clicked()
{
    setClickState(CUSCELLTWO);
    //save to file
    iCellType = CUSCELLTWO;
}

void CellDialog::on_cusCellThree_clicked()
{
    setClickState(CUSCELLTHREE);
    //save to file
    iCellType = CUSCELLTHREE;
}

void CellDialog::setClickState(int iCell)
{
    ui->tCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->tCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->tCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");

    ui->bCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->bCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->bCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");

    ui->nkCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->nkCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->nkCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");

    ui->dcCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->dcCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->dcCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");

    ui->cikCellOne->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->cikCellTwo->setStyleSheet("background-color: grey; border-radius: 25px;");
    ui->cikCellThree->setStyleSheet("background-color: grey; border-radius: 25px;");

    ui->cusCellOne->setStyleSheet("background-color: white; border-radius: 25px;");
    ui->cusCellTwo->setStyleSheet("background-color: white; border-radius: 25px;");
    ui->cusCellThree->setStyleSheet("background-color: white; border-radius: 25px;");

    switch (iCell) {
    case TCELLONE:
        ui->tCellOne->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case TCELLTWO:
        ui->tCellTwo->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case TCELLTHREE:
        ui->tCellThree->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case BCELLONE:
        ui->bCellOne->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case BCELLTWO:
        ui->bCellTwo->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case BCELLTHREE:
        ui->bCellThree->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case NKCELLONE:
        ui->nkCellOne->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case NKCELLTWO:
        ui->nkCellTwo->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case NKCELLTHREE:
        ui->nkCellThree->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case DCCELLONE:
        ui->dcCellOne->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case DCCELLTWO:
        ui->dcCellTwo->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case DCCELLTHREE:
        ui->dcCellThree->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case CIKCELLONE:
        ui->cikCellOne->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case CIKCELLTWO:
        ui->cikCellTwo->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case CIKCELLTHREE:
        ui->cikCellThree->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case CUSCELLONE:
        ui->cusCellOne->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case CUSCELLTWO:
        ui->cusCellTwo->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    case CUSCELLTHREE:
        ui->cusCellThree->setStyleSheet("background-color: blue; border-radius: 25px;");
        break;
    default:
        break;
    }

}
